using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Presentacion
{
    public partial class SimulacionMixto : Form
    {
        private Simulacion simulacion;
        private Pedido nvoPedido;
        private Pizzeria pizzeria;

        public SimulacionMixto(Simulacion sim,Pedido ped,Pizzeria pizz)
        {
            simulacion = sim;
            nvoPedido = ped;
            pizzeria = pizz;
            InitializeComponent();
            InicializarHornos();
        }

        private void InicializarHornos()
        {
            #region Pizza
            foreach (Pedido ped in simulacion.ColaDehornoPizz)
            {
                object[] objPed = { ped.Id, ped.Estado, 0 };
                dgHornoPizza.Rows.Add(objPed);
            }
            foreach (Pedido ped in simulacion.ColaDePreparacionP)
            {
                object[] objPed = { ped.Id, ped.Estado, 0 };
                dgHornoPizza.Rows.Add(objPed);
            }
            int i = 0;
            foreach (uint tiempo in simulacion.TiemposSimP)
            {
                decimal t = (decimal)tiempo / 60;
                t = Math.Round(t, 1);
                dgHornoPizza.Rows[i].Cells[2].Value = (object)t;
                i++;
            }

            //decimal restarEnvio = 0;
            
            decimal tpoAntPizza = 0;
            if(simulacion.TiemposSimP.Count != 0)
                tpoAntPizza = simulacion.TiemposSimP[simulacion.TiemposSimP.Count - 1];

            //if (tpoAntPizza != 0)
            //{
            //    restarEnvio = pizzeria.consultor.Estimador.Algoritmo.TDespacho + pizzeria.consultor.Estimador.Algoritmo.TEntrega; 
            //}

            decimal tpoNvoPizza = (decimal)(simulacion.TiempoPedP /*+ tpoAntPizza*/);
            tpoNvoPizza /= 60;
            tpoNvoPizza = Math.Round(tpoNvoPizza,1);
            object[] pedNvoP = { nvoPedido.Id, "A CONFIRMAR", tpoNvoPizza };
            dgHornoPizza.Rows.Add(pedNvoP);

            dgHornoPizza.Rows[i].DefaultCellStyle.BackColor = Color.Aqua;

            #endregion

            #region Empanadas
            foreach (Pedido ped in simulacion.ColaDehornoEmp)
            {
                object[] objPed = { ped.Id, ped.Estado, 0 };
                dgHornoEmpanadas.Rows.Add(objPed);
            }
            foreach (Pedido ped in simulacion.ColaDePreparacionE)
            {
                object[] objPed = { ped.Id, ped.Estado, 0 };
                dgHornoEmpanadas.Rows.Add(objPed);
            }
            i = 0;
            foreach (uint tiempo in simulacion.TiemposSimE)
            {
                decimal t = (decimal)tiempo / 60;
                t = Math.Round(t, 1);
                dgHornoEmpanadas.Rows[i].Cells[2].Value = (object)t;
                i++;
            }
            
            decimal tpoAntEmpanadas = 0;
            if (simulacion.TiemposSimE.Count != 0)
                tpoAntEmpanadas = simulacion.TiemposSimE[simulacion.TiemposSimE.Count - 1];
            decimal tpoNvoE = (decimal)(simulacion.TiempoPedE /*+ tpoAntEmpanadas*/);
            tpoNvoE /= 60;
            tpoNvoE = Math.Round(tpoNvoE, 1);
            object[] pedNvoE = { nvoPedido.Id, "A CONFIRMAR", tpoNvoE };
            dgHornoEmpanadas.Rows.Add(pedNvoE);

            dgHornoEmpanadas.Rows[i].DefaultCellStyle.BackColor = Color.Aqua;
            #endregion
        }

        private void btnAceptarPizza_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.OK;
            this.Close();
        }

        private void btnHornoEmpanadas_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.Cancel;
            this.Close();
        }

        
    }
}